/* eslint-disable */
import request from '@/request'

/** 获取用户列表 根据查询条件获取系统用户列表信息，支持分页查询和条件筛选，仅管理员可访问 POST /api/admin/userList */
export async function listUsingPost1(body: API.UserQueryDTO, options?: { [key: string]: any }) {
  return request<API.Result>('/api/admin/userList', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  })
}

/**
 * 获取系统资源监控信息
 */
export function getSystemResources() {
  return request({
    url: '/api/admin/system/resources',
    method: 'GET',
  })
}

/**
 * 获取线程池状态
 */
export function getThreadPoolStatus() {
  return request({
    url: '/api/admin/threadpool/status',
    method: 'GET',
  })
}

/**
 * 获取业务数据统计
 */
export function getBusinessStatistics() {
  return request({
    url: '/api/admin/business/statistics',
    method: 'GET',
  })
}

/**
 * 获取MySQL数据库监控统计信息
 */
export function getMysqlMonitorStatistics(options?: { [key: string]: any }) {
  return request({
    url: '/api/admin/database/statistics',
    method: 'GET',
    ...(options || {}),
  })
}

/**
 * 获取Redis监控状态
 */
export function getRedisMonitorStatus(options?: { [key: string]: any }) {
  return request({
    url: '/api/admin/redis/status',
    method: 'GET',
    ...(options || {}),
  })
}

/**
 * 获取监控配置
 */
export function getMonitorConfig(options?: { [key: string]: any }) {
  return request({
    url: '/api/admin/monitor/config',
    method: 'GET',
    ...(options || {}),
  })
}

/**
 * 获取API调用统计
 */
export function getApiStatistics(options?: { [key: string]: any }) {
  return request({
    url: '/api/admin/api/statistics',
    method: 'GET',
    ...(options || {}),
  })
}

/**
 * 获取缓存统计信息
 */
export function getCacheStatistics(options?: { [key: string]: any }) {
  return request({
    url: '/api/admin/cache/statistics',
    method: 'GET',
    ...(options || {}),
  })
}

/**
 * 获取COS存储桶状态
 */
export function getCosStatus(options?: { [key: string]: any }) {
  return request({
    url: '/api/admin/cos/status',
    method: 'GET',
    ...(options || {}),
  })
}

/**
 * 获取数据库连接池监控
 */
export function getDatabasePoolMonitor(options?: { [key: string]: any }) {
  return request({
    url: '/api/admin/database/pool',
    method: 'GET',
    ...(options || {}),
  })
}

/**
 * 导出用户反馈Excel（GET方式，参数通过params）
 */
export function exportFeedbackExcel(params: { type?: string; contact?: string; date?: string }) {
  return request({
    url: '/api/admin/feedback/export',
    method: 'GET',
    params,
    responseType: 'blob',
  })
}

/**
 * 获取用户反馈列表（GET方式，支持分页和类型筛选）
 */
export function getFeedbackList(params: { page: number; pageSize: number; type?: string }) {
  return request({
    url: '/api/admin/feedback/list',
    method: 'GET',
    params,
  })
}

/**
 * 标记反馈为已读（GET方式，id拼接到url）
 */
export function markFeedbackAsRead(id: string) {
  return request({
    url: `/api/admin/feedback/detail/${id}`,
    method: 'GET',
  })
}

/**
 * 禁用用户
 * @param id 用户ID
 * @param status 用户状态 1表示禁用，0表示正常
 * @returns Promise
 */
export function disableUser(id: string, status: number) {
  return request({
    url: `/api/admin/forbid/${id}/${status}`,
    method: 'POST',
  })
}
